﻿using System;

namespace SurfaceAreaPresenter
{
    public interface ISurfaceAreaView
    {
        bool edgeLabelVisible { set; }
        bool radiusLabelVisible { set; }
        bool directionLabelVisible { set; }
        bool edgeTextFieldVisible { set; }
        bool radiusTextFieldVisible { set; }
        bool directionTextFieldVisible { set; }
        bool resultButtonVisible { set; }
        bool resultTextFieldVisible { set; }
        bool errorLabelVisible { set; }
        string resultField { get; set; }
        string edgeValue { get; }
        string radiusValue { get; }
        string directionValue { get; }
        string errorValue { set; }
        string logText { get; set; }
        bool logRichTextBoxVisible { set; }

        ILogger getFileLogger();
        ILogger getHTMLLogger();

        event Action cubeButtonPressed;
        event Action coneButtonPressed;
        event Action cylinderButtonPressed;
        event Action sphereButtonPressed;
        event Action calculateButtonPressed;
        event Action readLogButtonPressed;
        event Action<bool> loggerStateChanged;
    }
}
